AWS CloudWatch Logs
検索フィルター
語句一致
-: マイナス検索
?: OR 検索
例) ?ERROR ?WARN は、ERROR WARN message, ERROR message, WARN message の全てに一致する
アルファベットおよびアンスコ以外の語句は二重引用符で囲む必要がある
JSON 語句
{ SELECTOR EQUALITY_OPERATOR STRING }
SELECTOR
JSON プロパティを特定する
$ から開始
配列の場合は [NUMBER] を利用する
EQUALITY_OPERATOR
= もしくは !=
STRING
* を利用できる
その他
IS NULL: オブジェクトが NULL の場合にマッチ
NOT EXISTS: undefined の場合にマッチ
IS TRUE/FALSE: 一致している場合にマッチ
&&, ||: AND, OR 条件
CloudWatch Metrics
概要
メトリクス = システムのパフォーマンスに関するデータ、が主。デフォルトだと、EC2 や RDS インスタンス等のパフォーマンスの推移が記録されていて、参照できる。
ネームスペース
複数のメトリクスを保持するグループ
ディメンション
例えば、EC2 には以下のようなディメンションをもつ
ImageId
InstanceId
InstanceType
AutoScalingGroupName
メトリクスの解像度
メトリクスには 解像度 という概念がある。
標準の解像度 : 詳細度が 1 分のデータを含むメトリクス
高解像度 : 詳細度が 1 秒のデータを含むメトリクス
AWS によって容易されているメトリクスは標準の解像度となる。高解像度だとより詳細なメトリクスが取得できるが、その追加および取得は課金要素なので、解像度が高くなればなるほど料金が高くなることに注意すること。
カスタムメトリクス
AWS CLI もしくは API を利用してカスタムメトリクスを作成できる。カスタムメトリクスは 削除できない ので注意 (2週間データが入力されないと削除される)。
CloudWatch Alarm
概要
CloudWatch Alarm は、1つの CloudWatch Metrics をモニタリングする。ある期間内で、メトリクスの値と閾値を比較し、アクションを実行する。注意すべきは、ある状態 になったら アラートを 出す、のではなく、ある状態が 持続したら アラートが 出ている状態になる、ということ。
メトリクスの値が閾値を下回るまで、アラートは出続けることになる。
状態
OK: メトリクスの値が、閾値以下
ALARM: メトリクスの値が、閾値以上
INSUFFICIENT_DATA: アラームが開始直後か、メトリクスが利用できないか、データ不足
設定項目
期間: メトリクスの値を判定する時間単位。この時間単位毎にメトリクスの値がチェック & 更新される
評価期間: アラーム状態を判定する時間単位。この時間単位毎にアラームの状態の更新が判断される
Datapoints to Ararm: ALARM 状態に遷移するのに必要なデータポイントの数
データポイント: 連続期間内の離散値
閾値は 3。評価期間 も 3。Datapoints to Ararm も 3 の場合のサンプルが公式にある。この図は、縦軸がメトリクス値で、横軸が 評価期間。第 3 期間で閾値を超えるが、直近の評価期間 (1 ~ 3) の間で超え続けていないので、このタイミングでは ALARM 状態には遷移しない。第 5 期間になると、直近の 3, 4, 5 期間が全て閾値を超えているので、 ALARM 状態に遷移する。しかし、第 6 期間で閾値が下がっているので、この時点で OK 状態に戻る。第 9 期間でかなり閾値を超過するが、次の期間で閾値を下回っているので、ALARM 状態にはならない。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/images/alarm_graph.png